PLEX (programming language)

Plex
Paradigm(s) procedural, imperative
Appeared in 1970s
Developer Göran Hemdahl
Dialects Plex-C, Plex-M
OS Ericsson APZ
License Proprietary

PLEX (Programming Language for EXchanges) is a special-purpose, pseudo-parallel and event-driven real-time programming language. Dedicated for AXE telephone exchanges, it was developed by Göran Hemdahl at Ericsson.[1] Originally designed in the 1970s, it has been continuously evolving since then.[2] The language has two variants: Plex-C used for the AXE Central Processor (CP) and Plex-M used for Extension Module Regional Processors (EMRP).[3]

Several precompilers or code generators exist, to produce source code in Plex-C from higher level languages or graphical models. These can generate Plex-C from:

Source code in Plex-C is compiled into the assembly language ASA210C. The binary form of ASA210C is either interpreted by a combination of hardware and microcode, or is compiled by a Just-In-Time compiler into native machine code for a high-capacity microprocessor.

Code execution is triggered by specific events, encoded as signals.[3]

An example input string that has been designed for the LI3 (P83-P90) version of the AXE Switch could be STDEP:DEV=LI3-101&&-107; this would print to the users console the current device status (busy, idle, blocked, etc)

Notes

  1. ^ Joe Armstrong. "A History of Erlang". Ericsson AB. http://www.cs.chalmers.se/Cs/Grundutb/Kurser/ppxt/HT2007/general/languages/armstrong-erlang_history.pdf. Retrieved 2009-03-07. 
  2. ^ Johan Erikson and Björn Lisper. "A Formal Semantics for PLEX". Mälardalen University. http://cdc.ioc.ee/appsem04/webproc/short/erikson-lisper.pdf. Retrieved 2009-03-07. 
  3. ^ a b Johan Erikson and Bo Lindell. "The Execution Model of APZ/PLEX - An Informal Description". Mälardalen University. http://www.mrtc.mdh.se/publications/0802.pdf. Retrieved 2009-03-07.